home *** CD-ROM | disk | FTP | other *** search
- %%----------------------------------------------------------------------
- %%
- %% specs.pro - interpret a few commands out of dvips special
- %%
- %% Peter A. Henning, February 1995
- %%
- %%----------------------------------------------------------------------
- %%%%%%%%%%%%%%%%%%%% usage: program should write 2 small tmpfiles:
- %% @beginspecial
- %% 50 @hscale 50 @vscale
- %% 100 @hoffset 150 @voffset
- %% 37 @angle
- %% 60 @hsize 70 @vsize (optional, clipping)
- %% @setspecial
- %%
- %% @endspecial
- %%%%%%%%%%%%%%%%%%%% set up the special dictionary
- /SDict 200 dict def SDict begin
- %%-- defaults values for clipping, offset, scaling, angle
- /@SpecialDefaults{/hs 612 def /vs 792 def /ho 0 def /vo 0 def
- /hsc 1 def /vsc 1 def /ang 0 def /CLIP 0 def}bind def
- %%-- scaling procedure (complicated, but compatible with dvips)
- /@scaleunit 100 def
- /@hscale{@scaleunit div /hsc exch def}bind def
- /@vscale{@scaleunit div /vsc exch def}bind def
- %%-- clipping procedures
- /@hsize{/hs exch def /CLIP 1 def}bind def
- /@vsize{/vs exch def /CLIP 1 def}bind def
- %%-- offset procedures
- /@hoffset{/ho exch def}bind def
- /@voffset{/vo exch def}bind def
- %%-- rotation procedures
- /@angle{/ang exch def}bind def
- end
- %%%%%%%%%%%%%%%%%%%% start/end using the dictionary
- /@beginspecial{SDict begin gsave @SpecialDefaults }def
- /@endspecial{grestore save restore end}def
- %%%%%%%%%%%%%%%%%%%% do all the stuff defined above
- /@setspecial{
- %%-- clipping if hsize/vsize has been used
- CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto
- closepath clip}if
- %%-- offset, scaling, rotation
- ho vo translate hsc vsc scale ang rotate
- %%-- some safeguards
- /showpage{}def /erasepage{}def /copypage{}def newpath
- }def
-
-
-
-
-
-
-
-
-